//===----------------------------------------------------------------------===//
// Copyright © 2025 Apple Inc. and the Containerization project authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//   https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//===----------------------------------------------------------------------===//

//
// DO NOT EDIT.
// swift-format-ignore-file
//
// Generated by the protocol buffer compiler.
// Source: SandboxContext.proto
//
import GRPC
import NIO
import NIOConcurrencyHelpers
import SwiftProtobuf


/// Context for interacting with a container's runtime environment.
///
/// Usage: instantiate `Com_Apple_Containerization_Sandbox_V3_SandboxContextClient`, then call methods of this protocol to make API calls.
public protocol Com_Apple_Containerization_Sandbox_V3_SandboxContextClientProtocol: GRPCClient {
  var serviceName: String { get }
  var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? { get }

  func mount(
    _ request: Com_Apple_Containerization_Sandbox_V3_MountRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_MountRequest, Com_Apple_Containerization_Sandbox_V3_MountResponse>

  func umount(
    _ request: Com_Apple_Containerization_Sandbox_V3_UmountRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_UmountRequest, Com_Apple_Containerization_Sandbox_V3_UmountResponse>

  func setenv(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SetenvRequest, Com_Apple_Containerization_Sandbox_V3_SetenvResponse>

  func getenv(
    _ request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_GetenvRequest, Com_Apple_Containerization_Sandbox_V3_GetenvResponse>

  func mkdir(
    _ request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_MkdirRequest, Com_Apple_Containerization_Sandbox_V3_MkdirResponse>

  func sysctl(
    _ request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SysctlRequest, Com_Apple_Containerization_Sandbox_V3_SysctlResponse>

  func setTime(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>

  func setupEmulator(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>

  func writeFile(
    _ request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>

  func createProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>

  func deleteProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>

  func startProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>

  func killProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>

  func waitProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>

  func resizeProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>

  func closeProcessStdin(
    _ request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>

  func containerStatistics(
    _ request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>

  func proxyVsock(
    _ request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>

  func stopVsockProxy(
    _ request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>

  func ipLinkSet(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>

  func ipAddrAdd(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>

  func ipRouteAddLink(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>

  func ipRouteAddDefault(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>

  func configureDns(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>

  func configureHosts(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>

  func sync(
    _ request: Com_Apple_Containerization_Sandbox_V3_SyncRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SyncRequest, Com_Apple_Containerization_Sandbox_V3_SyncResponse>

  func kill(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillRequest,
    callOptions: CallOptions?
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_KillRequest, Com_Apple_Containerization_Sandbox_V3_KillResponse>
}

extension Com_Apple_Containerization_Sandbox_V3_SandboxContextClientProtocol {
  public var serviceName: String {
    return "com.apple.containerization.sandbox.v3.SandboxContext"
  }

  /// Mount a filesystem.
  ///
  /// - Parameters:
  ///   - request: Request to send to Mount.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func mount(
    _ request: Com_Apple_Containerization_Sandbox_V3_MountRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_MountRequest, Com_Apple_Containerization_Sandbox_V3_MountResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mount.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeMountInterceptors() ?? []
    )
  }

  /// Unmount a filesystem.
  ///
  /// - Parameters:
  ///   - request: Request to send to Umount.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func umount(
    _ request: Com_Apple_Containerization_Sandbox_V3_UmountRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_UmountRequest, Com_Apple_Containerization_Sandbox_V3_UmountResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.umount.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeUmountInterceptors() ?? []
    )
  }

  /// Set an environment variable on the init process.
  ///
  /// - Parameters:
  ///   - request: Request to send to Setenv.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func setenv(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SetenvRequest, Com_Apple_Containerization_Sandbox_V3_SetenvResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setenv.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetenvInterceptors() ?? []
    )
  }

  /// Get an environment variable from the init process.
  ///
  /// - Parameters:
  ///   - request: Request to send to Getenv.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func getenv(
    _ request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_GetenvRequest, Com_Apple_Containerization_Sandbox_V3_GetenvResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.getenv.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeGetenvInterceptors() ?? []
    )
  }

  /// Create a new directory inside the sandbox.
  ///
  /// - Parameters:
  ///   - request: Request to send to Mkdir.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func mkdir(
    _ request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_MkdirRequest, Com_Apple_Containerization_Sandbox_V3_MkdirResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mkdir.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeMkdirInterceptors() ?? []
    )
  }

  /// Set sysctls in the context of the sandbox.
  ///
  /// - Parameters:
  ///   - request: Request to send to Sysctl.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func sysctl(
    _ request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SysctlRequest, Com_Apple_Containerization_Sandbox_V3_SysctlResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sysctl.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSysctlInterceptors() ?? []
    )
  }

  /// Set time in the guest.
  ///
  /// - Parameters:
  ///   - request: Request to send to SetTime.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func setTime(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, Com_Apple_Containerization_Sandbox_V3_SetTimeResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setTime.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetTimeInterceptors() ?? []
    )
  }

  /// Set up an emulator in the guest for a specific binary format.
  ///
  /// - Parameters:
  ///   - request: Request to send to SetupEmulator.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func setupEmulator(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setupEmulator.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetupEmulatorInterceptors() ?? []
    )
  }

  /// Write data to an existing or new file.
  ///
  /// - Parameters:
  ///   - request: Request to send to WriteFile.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func writeFile(
    _ request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, Com_Apple_Containerization_Sandbox_V3_WriteFileResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.writeFile.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeWriteFileInterceptors() ?? []
    )
  }

  /// Create a new process inside the container.
  ///
  /// - Parameters:
  ///   - request: Request to send to CreateProcess.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func createProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.createProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeCreateProcessInterceptors() ?? []
    )
  }

  /// Delete an existing process inside the container.
  ///
  /// - Parameters:
  ///   - request: Request to send to DeleteProcess.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func deleteProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.deleteProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeDeleteProcessInterceptors() ?? []
    )
  }

  /// Start the provided process.
  ///
  /// - Parameters:
  ///   - request: Request to send to StartProcess.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func startProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, Com_Apple_Containerization_Sandbox_V3_StartProcessResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.startProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeStartProcessInterceptors() ?? []
    )
  }

  /// Send a signal to the provided process.
  ///
  /// - Parameters:
  ///   - request: Request to send to KillProcess.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func killProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, Com_Apple_Containerization_Sandbox_V3_KillProcessResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.killProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeKillProcessInterceptors() ?? []
    )
  }

  /// Wait for a process to exit and return the exit code.
  ///
  /// - Parameters:
  ///   - request: Request to send to WaitProcess.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func waitProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.waitProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeWaitProcessInterceptors() ?? []
    )
  }

  /// Resize the tty of a given process. This will error if the process does
  /// not have a pty allocated.
  ///
  /// - Parameters:
  ///   - request: Request to send to ResizeProcess.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func resizeProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.resizeProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeResizeProcessInterceptors() ?? []
    )
  }

  /// Close IO for a given process.
  ///
  /// - Parameters:
  ///   - request: Request to send to CloseProcessStdin.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func closeProcessStdin(
    _ request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.closeProcessStdin.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeCloseProcessStdinInterceptors() ?? []
    )
  }

  /// Get statistics for containers.
  ///
  /// - Parameters:
  ///   - request: Request to send to ContainerStatistics.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func containerStatistics(
    _ request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.containerStatistics.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeContainerStatisticsInterceptors() ?? []
    )
  }

  /// Proxy a vsock port to a unix domain socket in the guest, or vice versa.
  ///
  /// - Parameters:
  ///   - request: Request to send to ProxyVsock.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func proxyVsock(
    _ request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.proxyVsock.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeProxyVsockInterceptors() ?? []
    )
  }

  /// Stop a vsock proxy to a unix domain socket.
  ///
  /// - Parameters:
  ///   - request: Request to send to StopVsockProxy.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func stopVsockProxy(
    _ request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.stopVsockProxy.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeStopVsockProxyInterceptors() ?? []
    )
  }

  /// Set the link state of a network interface.
  ///
  /// - Parameters:
  ///   - request: Request to send to IpLinkSet.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func ipLinkSet(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipLinkSet.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpLinkSetInterceptors() ?? []
    )
  }

  /// Add an IPv4 address to a network interface.
  ///
  /// - Parameters:
  ///   - request: Request to send to IpAddrAdd.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func ipAddrAdd(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipAddrAdd.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpAddrAddInterceptors() ?? []
    )
  }

  /// Add an IP route for a network interface.
  ///
  /// - Parameters:
  ///   - request: Request to send to IpRouteAddLink.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func ipRouteAddLink(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddLink.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpRouteAddLinkInterceptors() ?? []
    )
  }

  /// Add an IP route for a network interface.
  ///
  /// - Parameters:
  ///   - request: Request to send to IpRouteAddDefault.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func ipRouteAddDefault(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddDefault.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpRouteAddDefaultInterceptors() ?? []
    )
  }

  /// Configure DNS resolver.
  ///
  /// - Parameters:
  ///   - request: Request to send to ConfigureDns.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func configureDns(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureDns.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeConfigureDnsInterceptors() ?? []
    )
  }

  /// Configure /etc/hosts.
  ///
  /// - Parameters:
  ///   - request: Request to send to ConfigureHosts.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func configureHosts(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureHosts.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeConfigureHostsInterceptors() ?? []
    )
  }

  /// Perform the sync syscall.
  ///
  /// - Parameters:
  ///   - request: Request to send to Sync.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func sync(
    _ request: Com_Apple_Containerization_Sandbox_V3_SyncRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_SyncRequest, Com_Apple_Containerization_Sandbox_V3_SyncResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sync.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSyncInterceptors() ?? []
    )
  }

  /// Send a signal to a process via the PID.
  ///
  /// - Parameters:
  ///   - request: Request to send to Kill.
  ///   - callOptions: Call options.
  /// - Returns: A `UnaryCall` with futures for the metadata, status and response.
  public func kill(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillRequest,
    callOptions: CallOptions? = nil
  ) -> UnaryCall<Com_Apple_Containerization_Sandbox_V3_KillRequest, Com_Apple_Containerization_Sandbox_V3_KillResponse> {
    return self.makeUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.kill.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeKillInterceptors() ?? []
    )
  }
}

@available(*, deprecated)
extension Com_Apple_Containerization_Sandbox_V3_SandboxContextClient: @unchecked Sendable {}

@available(*, deprecated, renamed: "Com_Apple_Containerization_Sandbox_V3_SandboxContextNIOClient")
public final class Com_Apple_Containerization_Sandbox_V3_SandboxContextClient: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientProtocol {
  private let lock = Lock()
  private var _defaultCallOptions: CallOptions
  private var _interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol?
  public let channel: GRPCChannel
  public var defaultCallOptions: CallOptions {
    get { self.lock.withLock { return self._defaultCallOptions } }
    set { self.lock.withLockVoid { self._defaultCallOptions = newValue } }
  }
  public var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? {
    get { self.lock.withLock { return self._interceptors } }
    set { self.lock.withLockVoid { self._interceptors = newValue } }
  }

  /// Creates a client for the com.apple.containerization.sandbox.v3.SandboxContext service.
  ///
  /// - Parameters:
  ///   - channel: `GRPCChannel` to the service host.
  ///   - defaultCallOptions: Options to use for each service call if the user doesn't provide them.
  ///   - interceptors: A factory providing interceptors for each RPC.
  public init(
    channel: GRPCChannel,
    defaultCallOptions: CallOptions = CallOptions(),
    interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? = nil
  ) {
    self.channel = channel
    self._defaultCallOptions = defaultCallOptions
    self._interceptors = interceptors
  }
}

public struct Com_Apple_Containerization_Sandbox_V3_SandboxContextNIOClient: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientProtocol {
  public var channel: GRPCChannel
  public var defaultCallOptions: CallOptions
  public var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol?

  /// Creates a client for the com.apple.containerization.sandbox.v3.SandboxContext service.
  ///
  /// - Parameters:
  ///   - channel: `GRPCChannel` to the service host.
  ///   - defaultCallOptions: Options to use for each service call if the user doesn't provide them.
  ///   - interceptors: A factory providing interceptors for each RPC.
  public init(
    channel: GRPCChannel,
    defaultCallOptions: CallOptions = CallOptions(),
    interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? = nil
  ) {
    self.channel = channel
    self.defaultCallOptions = defaultCallOptions
    self.interceptors = interceptors
  }
}

/// Context for interacting with a container's runtime environment.
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public protocol Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncClientProtocol: GRPCClient {
  static var serviceDescriptor: GRPCServiceDescriptor { get }
  var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? { get }

  func makeMountCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_MountRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_MountRequest, Com_Apple_Containerization_Sandbox_V3_MountResponse>

  func makeUmountCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_UmountRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_UmountRequest, Com_Apple_Containerization_Sandbox_V3_UmountResponse>

  func makeSetenvCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SetenvRequest, Com_Apple_Containerization_Sandbox_V3_SetenvResponse>

  func makeGetenvCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_GetenvRequest, Com_Apple_Containerization_Sandbox_V3_GetenvResponse>

  func makeMkdirCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_MkdirRequest, Com_Apple_Containerization_Sandbox_V3_MkdirResponse>

  func makeSysctlCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SysctlRequest, Com_Apple_Containerization_Sandbox_V3_SysctlResponse>

  func makeSetTimeCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>

  func makeSetupEmulatorCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>

  func makeWriteFileCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>

  func makeCreateProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>

  func makeDeleteProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>

  func makeStartProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>

  func makeKillProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>

  func makeWaitProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>

  func makeResizeProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>

  func makeCloseProcessStdinCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>

  func makeContainerStatisticsCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>

  func makeProxyVsockCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>

  func makeStopVsockProxyCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>

  func makeIpLinkSetCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>

  func makeIpAddrAddCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>

  func makeIpRouteAddLinkCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>

  func makeIpRouteAddDefaultCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>

  func makeConfigureDnsCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>

  func makeConfigureHostsCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>

  func makeSyncCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SyncRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SyncRequest, Com_Apple_Containerization_Sandbox_V3_SyncResponse>

  func makeKillCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillRequest,
    callOptions: CallOptions?
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_KillRequest, Com_Apple_Containerization_Sandbox_V3_KillResponse>
}

@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
extension Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncClientProtocol {
  public static var serviceDescriptor: GRPCServiceDescriptor {
    return Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.serviceDescriptor
  }

  public var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? {
    return nil
  }

  public func makeMountCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_MountRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_MountRequest, Com_Apple_Containerization_Sandbox_V3_MountResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mount.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeMountInterceptors() ?? []
    )
  }

  public func makeUmountCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_UmountRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_UmountRequest, Com_Apple_Containerization_Sandbox_V3_UmountResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.umount.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeUmountInterceptors() ?? []
    )
  }

  public func makeSetenvCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SetenvRequest, Com_Apple_Containerization_Sandbox_V3_SetenvResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setenv.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetenvInterceptors() ?? []
    )
  }

  public func makeGetenvCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_GetenvRequest, Com_Apple_Containerization_Sandbox_V3_GetenvResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.getenv.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeGetenvInterceptors() ?? []
    )
  }

  public func makeMkdirCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_MkdirRequest, Com_Apple_Containerization_Sandbox_V3_MkdirResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mkdir.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeMkdirInterceptors() ?? []
    )
  }

  public func makeSysctlCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SysctlRequest, Com_Apple_Containerization_Sandbox_V3_SysctlResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sysctl.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSysctlInterceptors() ?? []
    )
  }

  public func makeSetTimeCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, Com_Apple_Containerization_Sandbox_V3_SetTimeResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setTime.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetTimeInterceptors() ?? []
    )
  }

  public func makeSetupEmulatorCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setupEmulator.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetupEmulatorInterceptors() ?? []
    )
  }

  public func makeWriteFileCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, Com_Apple_Containerization_Sandbox_V3_WriteFileResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.writeFile.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeWriteFileInterceptors() ?? []
    )
  }

  public func makeCreateProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.createProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeCreateProcessInterceptors() ?? []
    )
  }

  public func makeDeleteProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.deleteProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeDeleteProcessInterceptors() ?? []
    )
  }

  public func makeStartProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, Com_Apple_Containerization_Sandbox_V3_StartProcessResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.startProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeStartProcessInterceptors() ?? []
    )
  }

  public func makeKillProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, Com_Apple_Containerization_Sandbox_V3_KillProcessResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.killProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeKillProcessInterceptors() ?? []
    )
  }

  public func makeWaitProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.waitProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeWaitProcessInterceptors() ?? []
    )
  }

  public func makeResizeProcessCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.resizeProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeResizeProcessInterceptors() ?? []
    )
  }

  public func makeCloseProcessStdinCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.closeProcessStdin.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeCloseProcessStdinInterceptors() ?? []
    )
  }

  public func makeContainerStatisticsCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.containerStatistics.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeContainerStatisticsInterceptors() ?? []
    )
  }

  public func makeProxyVsockCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.proxyVsock.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeProxyVsockInterceptors() ?? []
    )
  }

  public func makeStopVsockProxyCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.stopVsockProxy.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeStopVsockProxyInterceptors() ?? []
    )
  }

  public func makeIpLinkSetCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipLinkSet.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpLinkSetInterceptors() ?? []
    )
  }

  public func makeIpAddrAddCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipAddrAdd.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpAddrAddInterceptors() ?? []
    )
  }

  public func makeIpRouteAddLinkCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddLink.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpRouteAddLinkInterceptors() ?? []
    )
  }

  public func makeIpRouteAddDefaultCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddDefault.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpRouteAddDefaultInterceptors() ?? []
    )
  }

  public func makeConfigureDnsCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureDns.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeConfigureDnsInterceptors() ?? []
    )
  }

  public func makeConfigureHostsCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureHosts.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeConfigureHostsInterceptors() ?? []
    )
  }

  public func makeSyncCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_SyncRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_SyncRequest, Com_Apple_Containerization_Sandbox_V3_SyncResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sync.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSyncInterceptors() ?? []
    )
  }

  public func makeKillCall(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillRequest,
    callOptions: CallOptions? = nil
  ) -> GRPCAsyncUnaryCall<Com_Apple_Containerization_Sandbox_V3_KillRequest, Com_Apple_Containerization_Sandbox_V3_KillResponse> {
    return self.makeAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.kill.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeKillInterceptors() ?? []
    )
  }
}

@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
extension Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncClientProtocol {
  public func mount(
    _ request: Com_Apple_Containerization_Sandbox_V3_MountRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_MountResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mount.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeMountInterceptors() ?? []
    )
  }

  public func umount(
    _ request: Com_Apple_Containerization_Sandbox_V3_UmountRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_UmountResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.umount.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeUmountInterceptors() ?? []
    )
  }

  public func setenv(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SetenvResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setenv.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetenvInterceptors() ?? []
    )
  }

  public func getenv(
    _ request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_GetenvResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.getenv.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeGetenvInterceptors() ?? []
    )
  }

  public func mkdir(
    _ request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_MkdirResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mkdir.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeMkdirInterceptors() ?? []
    )
  }

  public func sysctl(
    _ request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SysctlResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sysctl.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSysctlInterceptors() ?? []
    )
  }

  public func setTime(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SetTimeResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setTime.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetTimeInterceptors() ?? []
    )
  }

  public func setupEmulator(
    _ request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setupEmulator.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSetupEmulatorInterceptors() ?? []
    )
  }

  public func writeFile(
    _ request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_WriteFileResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.writeFile.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeWriteFileInterceptors() ?? []
    )
  }

  public func createProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.createProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeCreateProcessInterceptors() ?? []
    )
  }

  public func deleteProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.deleteProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeDeleteProcessInterceptors() ?? []
    )
  }

  public func startProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_StartProcessResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.startProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeStartProcessInterceptors() ?? []
    )
  }

  public func killProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_KillProcessResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.killProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeKillProcessInterceptors() ?? []
    )
  }

  public func waitProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.waitProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeWaitProcessInterceptors() ?? []
    )
  }

  public func resizeProcess(
    _ request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.resizeProcess.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeResizeProcessInterceptors() ?? []
    )
  }

  public func closeProcessStdin(
    _ request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.closeProcessStdin.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeCloseProcessStdinInterceptors() ?? []
    )
  }

  public func containerStatistics(
    _ request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.containerStatistics.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeContainerStatisticsInterceptors() ?? []
    )
  }

  public func proxyVsock(
    _ request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.proxyVsock.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeProxyVsockInterceptors() ?? []
    )
  }

  public func stopVsockProxy(
    _ request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.stopVsockProxy.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeStopVsockProxyInterceptors() ?? []
    )
  }

  public func ipLinkSet(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipLinkSet.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpLinkSetInterceptors() ?? []
    )
  }

  public func ipAddrAdd(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipAddrAdd.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpAddrAddInterceptors() ?? []
    )
  }

  public func ipRouteAddLink(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddLink.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpRouteAddLinkInterceptors() ?? []
    )
  }

  public func ipRouteAddDefault(
    _ request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddDefault.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeIpRouteAddDefaultInterceptors() ?? []
    )
  }

  public func configureDns(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureDns.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeConfigureDnsInterceptors() ?? []
    )
  }

  public func configureHosts(
    _ request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureHosts.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeConfigureHostsInterceptors() ?? []
    )
  }

  public func sync(
    _ request: Com_Apple_Containerization_Sandbox_V3_SyncRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SyncResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sync.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeSyncInterceptors() ?? []
    )
  }

  public func kill(
    _ request: Com_Apple_Containerization_Sandbox_V3_KillRequest,
    callOptions: CallOptions? = nil
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_KillResponse {
    return try await self.performAsyncUnaryCall(
      path: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.kill.path,
      request: request,
      callOptions: callOptions ?? self.defaultCallOptions,
      interceptors: self.interceptors?.makeKillInterceptors() ?? []
    )
  }
}

@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public struct Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncClient: Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncClientProtocol {
  public var channel: GRPCChannel
  public var defaultCallOptions: CallOptions
  public var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol?

  public init(
    channel: GRPCChannel,
    defaultCallOptions: CallOptions = CallOptions(),
    interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol? = nil
  ) {
    self.channel = channel
    self.defaultCallOptions = defaultCallOptions
    self.interceptors = interceptors
  }
}

public protocol Com_Apple_Containerization_Sandbox_V3_SandboxContextClientInterceptorFactoryProtocol: Sendable {

  /// - Returns: Interceptors to use when invoking 'mount'.
  func makeMountInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_MountRequest, Com_Apple_Containerization_Sandbox_V3_MountResponse>]

  /// - Returns: Interceptors to use when invoking 'umount'.
  func makeUmountInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_UmountRequest, Com_Apple_Containerization_Sandbox_V3_UmountResponse>]

  /// - Returns: Interceptors to use when invoking 'setenv'.
  func makeSetenvInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_SetenvRequest, Com_Apple_Containerization_Sandbox_V3_SetenvResponse>]

  /// - Returns: Interceptors to use when invoking 'getenv'.
  func makeGetenvInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_GetenvRequest, Com_Apple_Containerization_Sandbox_V3_GetenvResponse>]

  /// - Returns: Interceptors to use when invoking 'mkdir'.
  func makeMkdirInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_MkdirRequest, Com_Apple_Containerization_Sandbox_V3_MkdirResponse>]

  /// - Returns: Interceptors to use when invoking 'sysctl'.
  func makeSysctlInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_SysctlRequest, Com_Apple_Containerization_Sandbox_V3_SysctlResponse>]

  /// - Returns: Interceptors to use when invoking 'setTime'.
  func makeSetTimeInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>]

  /// - Returns: Interceptors to use when invoking 'setupEmulator'.
  func makeSetupEmulatorInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>]

  /// - Returns: Interceptors to use when invoking 'writeFile'.
  func makeWriteFileInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>]

  /// - Returns: Interceptors to use when invoking 'createProcess'.
  func makeCreateProcessInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>]

  /// - Returns: Interceptors to use when invoking 'deleteProcess'.
  func makeDeleteProcessInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>]

  /// - Returns: Interceptors to use when invoking 'startProcess'.
  func makeStartProcessInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>]

  /// - Returns: Interceptors to use when invoking 'killProcess'.
  func makeKillProcessInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>]

  /// - Returns: Interceptors to use when invoking 'waitProcess'.
  func makeWaitProcessInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>]

  /// - Returns: Interceptors to use when invoking 'resizeProcess'.
  func makeResizeProcessInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>]

  /// - Returns: Interceptors to use when invoking 'closeProcessStdin'.
  func makeCloseProcessStdinInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>]

  /// - Returns: Interceptors to use when invoking 'containerStatistics'.
  func makeContainerStatisticsInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>]

  /// - Returns: Interceptors to use when invoking 'proxyVsock'.
  func makeProxyVsockInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>]

  /// - Returns: Interceptors to use when invoking 'stopVsockProxy'.
  func makeStopVsockProxyInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>]

  /// - Returns: Interceptors to use when invoking 'ipLinkSet'.
  func makeIpLinkSetInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>]

  /// - Returns: Interceptors to use when invoking 'ipAddrAdd'.
  func makeIpAddrAddInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>]

  /// - Returns: Interceptors to use when invoking 'ipRouteAddLink'.
  func makeIpRouteAddLinkInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>]

  /// - Returns: Interceptors to use when invoking 'ipRouteAddDefault'.
  func makeIpRouteAddDefaultInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>]

  /// - Returns: Interceptors to use when invoking 'configureDns'.
  func makeConfigureDnsInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>]

  /// - Returns: Interceptors to use when invoking 'configureHosts'.
  func makeConfigureHostsInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>]

  /// - Returns: Interceptors to use when invoking 'sync'.
  func makeSyncInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_SyncRequest, Com_Apple_Containerization_Sandbox_V3_SyncResponse>]

  /// - Returns: Interceptors to use when invoking 'kill'.
  func makeKillInterceptors() -> [ClientInterceptor<Com_Apple_Containerization_Sandbox_V3_KillRequest, Com_Apple_Containerization_Sandbox_V3_KillResponse>]
}

public enum Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata {
  public static let serviceDescriptor = GRPCServiceDescriptor(
    name: "SandboxContext",
    fullName: "com.apple.containerization.sandbox.v3.SandboxContext",
    methods: [
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mount,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.umount,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setenv,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.getenv,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.mkdir,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sysctl,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setTime,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.setupEmulator,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.writeFile,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.createProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.deleteProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.startProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.killProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.waitProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.resizeProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.closeProcessStdin,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.containerStatistics,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.proxyVsock,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.stopVsockProxy,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipLinkSet,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipAddrAdd,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddLink,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.ipRouteAddDefault,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureDns,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.configureHosts,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.sync,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextClientMetadata.Methods.kill,
    ]
  )

  public enum Methods {
    public static let mount = GRPCMethodDescriptor(
      name: "Mount",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Mount",
      type: GRPCCallType.unary
    )

    public static let umount = GRPCMethodDescriptor(
      name: "Umount",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Umount",
      type: GRPCCallType.unary
    )

    public static let setenv = GRPCMethodDescriptor(
      name: "Setenv",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Setenv",
      type: GRPCCallType.unary
    )

    public static let getenv = GRPCMethodDescriptor(
      name: "Getenv",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Getenv",
      type: GRPCCallType.unary
    )

    public static let mkdir = GRPCMethodDescriptor(
      name: "Mkdir",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Mkdir",
      type: GRPCCallType.unary
    )

    public static let sysctl = GRPCMethodDescriptor(
      name: "Sysctl",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Sysctl",
      type: GRPCCallType.unary
    )

    public static let setTime = GRPCMethodDescriptor(
      name: "SetTime",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/SetTime",
      type: GRPCCallType.unary
    )

    public static let setupEmulator = GRPCMethodDescriptor(
      name: "SetupEmulator",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/SetupEmulator",
      type: GRPCCallType.unary
    )

    public static let writeFile = GRPCMethodDescriptor(
      name: "WriteFile",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/WriteFile",
      type: GRPCCallType.unary
    )

    public static let createProcess = GRPCMethodDescriptor(
      name: "CreateProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/CreateProcess",
      type: GRPCCallType.unary
    )

    public static let deleteProcess = GRPCMethodDescriptor(
      name: "DeleteProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/DeleteProcess",
      type: GRPCCallType.unary
    )

    public static let startProcess = GRPCMethodDescriptor(
      name: "StartProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/StartProcess",
      type: GRPCCallType.unary
    )

    public static let killProcess = GRPCMethodDescriptor(
      name: "KillProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/KillProcess",
      type: GRPCCallType.unary
    )

    public static let waitProcess = GRPCMethodDescriptor(
      name: "WaitProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/WaitProcess",
      type: GRPCCallType.unary
    )

    public static let resizeProcess = GRPCMethodDescriptor(
      name: "ResizeProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ResizeProcess",
      type: GRPCCallType.unary
    )

    public static let closeProcessStdin = GRPCMethodDescriptor(
      name: "CloseProcessStdin",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/CloseProcessStdin",
      type: GRPCCallType.unary
    )

    public static let containerStatistics = GRPCMethodDescriptor(
      name: "ContainerStatistics",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ContainerStatistics",
      type: GRPCCallType.unary
    )

    public static let proxyVsock = GRPCMethodDescriptor(
      name: "ProxyVsock",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ProxyVsock",
      type: GRPCCallType.unary
    )

    public static let stopVsockProxy = GRPCMethodDescriptor(
      name: "StopVsockProxy",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/StopVsockProxy",
      type: GRPCCallType.unary
    )

    public static let ipLinkSet = GRPCMethodDescriptor(
      name: "IpLinkSet",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpLinkSet",
      type: GRPCCallType.unary
    )

    public static let ipAddrAdd = GRPCMethodDescriptor(
      name: "IpAddrAdd",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpAddrAdd",
      type: GRPCCallType.unary
    )

    public static let ipRouteAddLink = GRPCMethodDescriptor(
      name: "IpRouteAddLink",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpRouteAddLink",
      type: GRPCCallType.unary
    )

    public static let ipRouteAddDefault = GRPCMethodDescriptor(
      name: "IpRouteAddDefault",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpRouteAddDefault",
      type: GRPCCallType.unary
    )

    public static let configureDns = GRPCMethodDescriptor(
      name: "ConfigureDns",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ConfigureDns",
      type: GRPCCallType.unary
    )

    public static let configureHosts = GRPCMethodDescriptor(
      name: "ConfigureHosts",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ConfigureHosts",
      type: GRPCCallType.unary
    )

    public static let sync = GRPCMethodDescriptor(
      name: "Sync",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Sync",
      type: GRPCCallType.unary
    )

    public static let kill = GRPCMethodDescriptor(
      name: "Kill",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Kill",
      type: GRPCCallType.unary
    )
  }
}

/// Context for interacting with a container's runtime environment.
///
/// To build a server, implement a class that conforms to this protocol.
public protocol Com_Apple_Containerization_Sandbox_V3_SandboxContextProvider: CallHandlerProvider {
  var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextServerInterceptorFactoryProtocol? { get }

  /// Mount a filesystem.
  func mount(request: Com_Apple_Containerization_Sandbox_V3_MountRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_MountResponse>

  /// Unmount a filesystem.
  func umount(request: Com_Apple_Containerization_Sandbox_V3_UmountRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_UmountResponse>

  /// Set an environment variable on the init process.
  func setenv(request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_SetenvResponse>

  /// Get an environment variable from the init process.
  func getenv(request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_GetenvResponse>

  /// Create a new directory inside the sandbox.
  func mkdir(request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_MkdirResponse>

  /// Set sysctls in the context of the sandbox.
  func sysctl(request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_SysctlResponse>

  /// Set time in the guest.
  func setTime(request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>

  /// Set up an emulator in the guest for a specific binary format.
  func setupEmulator(request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>

  /// Write data to an existing or new file.
  func writeFile(request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>

  /// Create a new process inside the container.
  func createProcess(request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>

  /// Delete an existing process inside the container.
  func deleteProcess(request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>

  /// Start the provided process.
  func startProcess(request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>

  /// Send a signal to the provided process.
  func killProcess(request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>

  /// Wait for a process to exit and return the exit code.
  func waitProcess(request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>

  /// Resize the tty of a given process. This will error if the process does
  /// not have a pty allocated.
  func resizeProcess(request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>

  /// Close IO for a given process.
  func closeProcessStdin(request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>

  /// Get statistics for containers.
  func containerStatistics(request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>

  /// Proxy a vsock port to a unix domain socket in the guest, or vice versa.
  func proxyVsock(request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>

  /// Stop a vsock proxy to a unix domain socket.
  func stopVsockProxy(request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>

  /// Set the link state of a network interface.
  func ipLinkSet(request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>

  /// Add an IPv4 address to a network interface.
  func ipAddrAdd(request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>

  /// Add an IP route for a network interface.
  func ipRouteAddLink(request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>

  /// Add an IP route for a network interface.
  func ipRouteAddDefault(request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>

  /// Configure DNS resolver.
  func configureDns(request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>

  /// Configure /etc/hosts.
  func configureHosts(request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>

  /// Perform the sync syscall.
  func sync(request: Com_Apple_Containerization_Sandbox_V3_SyncRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_SyncResponse>

  /// Send a signal to a process via the PID.
  func kill(request: Com_Apple_Containerization_Sandbox_V3_KillRequest, context: StatusOnlyCallContext) -> EventLoopFuture<Com_Apple_Containerization_Sandbox_V3_KillResponse>
}

extension Com_Apple_Containerization_Sandbox_V3_SandboxContextProvider {
  public var serviceName: Substring {
    return Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.serviceDescriptor.fullName[...]
  }

  /// Determines, calls and returns the appropriate request handler, depending on the request's method.
  /// Returns nil for methods not handled by this service.
  public func handle(
    method name: Substring,
    context: CallHandlerContext
  ) -> GRPCServerHandlerProtocol? {
    switch name {
    case "Mount":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_MountRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_MountResponse>(),
        interceptors: self.interceptors?.makeMountInterceptors() ?? [],
        userFunction: self.mount(request:context:)
      )

    case "Umount":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_UmountRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_UmountResponse>(),
        interceptors: self.interceptors?.makeUmountInterceptors() ?? [],
        userFunction: self.umount(request:context:)
      )

    case "Setenv":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SetenvRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SetenvResponse>(),
        interceptors: self.interceptors?.makeSetenvInterceptors() ?? [],
        userFunction: self.setenv(request:context:)
      )

    case "Getenv":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_GetenvRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_GetenvResponse>(),
        interceptors: self.interceptors?.makeGetenvInterceptors() ?? [],
        userFunction: self.getenv(request:context:)
      )

    case "Mkdir":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_MkdirRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_MkdirResponse>(),
        interceptors: self.interceptors?.makeMkdirInterceptors() ?? [],
        userFunction: self.mkdir(request:context:)
      )

    case "Sysctl":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SysctlRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SysctlResponse>(),
        interceptors: self.interceptors?.makeSysctlInterceptors() ?? [],
        userFunction: self.sysctl(request:context:)
      )

    case "SetTime":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>(),
        interceptors: self.interceptors?.makeSetTimeInterceptors() ?? [],
        userFunction: self.setTime(request:context:)
      )

    case "SetupEmulator":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>(),
        interceptors: self.interceptors?.makeSetupEmulatorInterceptors() ?? [],
        userFunction: self.setupEmulator(request:context:)
      )

    case "WriteFile":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>(),
        interceptors: self.interceptors?.makeWriteFileInterceptors() ?? [],
        userFunction: self.writeFile(request:context:)
      )

    case "CreateProcess":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>(),
        interceptors: self.interceptors?.makeCreateProcessInterceptors() ?? [],
        userFunction: self.createProcess(request:context:)
      )

    case "DeleteProcess":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>(),
        interceptors: self.interceptors?.makeDeleteProcessInterceptors() ?? [],
        userFunction: self.deleteProcess(request:context:)
      )

    case "StartProcess":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>(),
        interceptors: self.interceptors?.makeStartProcessInterceptors() ?? [],
        userFunction: self.startProcess(request:context:)
      )

    case "KillProcess":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>(),
        interceptors: self.interceptors?.makeKillProcessInterceptors() ?? [],
        userFunction: self.killProcess(request:context:)
      )

    case "WaitProcess":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>(),
        interceptors: self.interceptors?.makeWaitProcessInterceptors() ?? [],
        userFunction: self.waitProcess(request:context:)
      )

    case "ResizeProcess":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>(),
        interceptors: self.interceptors?.makeResizeProcessInterceptors() ?? [],
        userFunction: self.resizeProcess(request:context:)
      )

    case "CloseProcessStdin":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>(),
        interceptors: self.interceptors?.makeCloseProcessStdinInterceptors() ?? [],
        userFunction: self.closeProcessStdin(request:context:)
      )

    case "ContainerStatistics":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>(),
        interceptors: self.interceptors?.makeContainerStatisticsInterceptors() ?? [],
        userFunction: self.containerStatistics(request:context:)
      )

    case "ProxyVsock":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>(),
        interceptors: self.interceptors?.makeProxyVsockInterceptors() ?? [],
        userFunction: self.proxyVsock(request:context:)
      )

    case "StopVsockProxy":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>(),
        interceptors: self.interceptors?.makeStopVsockProxyInterceptors() ?? [],
        userFunction: self.stopVsockProxy(request:context:)
      )

    case "IpLinkSet":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>(),
        interceptors: self.interceptors?.makeIpLinkSetInterceptors() ?? [],
        userFunction: self.ipLinkSet(request:context:)
      )

    case "IpAddrAdd":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>(),
        interceptors: self.interceptors?.makeIpAddrAddInterceptors() ?? [],
        userFunction: self.ipAddrAdd(request:context:)
      )

    case "IpRouteAddLink":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>(),
        interceptors: self.interceptors?.makeIpRouteAddLinkInterceptors() ?? [],
        userFunction: self.ipRouteAddLink(request:context:)
      )

    case "IpRouteAddDefault":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>(),
        interceptors: self.interceptors?.makeIpRouteAddDefaultInterceptors() ?? [],
        userFunction: self.ipRouteAddDefault(request:context:)
      )

    case "ConfigureDns":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>(),
        interceptors: self.interceptors?.makeConfigureDnsInterceptors() ?? [],
        userFunction: self.configureDns(request:context:)
      )

    case "ConfigureHosts":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>(),
        interceptors: self.interceptors?.makeConfigureHostsInterceptors() ?? [],
        userFunction: self.configureHosts(request:context:)
      )

    case "Sync":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SyncRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SyncResponse>(),
        interceptors: self.interceptors?.makeSyncInterceptors() ?? [],
        userFunction: self.sync(request:context:)
      )

    case "Kill":
      return UnaryServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_KillRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_KillResponse>(),
        interceptors: self.interceptors?.makeKillInterceptors() ?? [],
        userFunction: self.kill(request:context:)
      )

    default:
      return nil
    }
  }
}

/// Context for interacting with a container's runtime environment.
///
/// To implement a server, implement an object which conforms to this protocol.
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public protocol Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncProvider: CallHandlerProvider, Sendable {
  static var serviceDescriptor: GRPCServiceDescriptor { get }
  var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextServerInterceptorFactoryProtocol? { get }

  /// Mount a filesystem.
  func mount(
    request: Com_Apple_Containerization_Sandbox_V3_MountRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_MountResponse

  /// Unmount a filesystem.
  func umount(
    request: Com_Apple_Containerization_Sandbox_V3_UmountRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_UmountResponse

  /// Set an environment variable on the init process.
  func setenv(
    request: Com_Apple_Containerization_Sandbox_V3_SetenvRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SetenvResponse

  /// Get an environment variable from the init process.
  func getenv(
    request: Com_Apple_Containerization_Sandbox_V3_GetenvRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_GetenvResponse

  /// Create a new directory inside the sandbox.
  func mkdir(
    request: Com_Apple_Containerization_Sandbox_V3_MkdirRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_MkdirResponse

  /// Set sysctls in the context of the sandbox.
  func sysctl(
    request: Com_Apple_Containerization_Sandbox_V3_SysctlRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SysctlResponse

  /// Set time in the guest.
  func setTime(
    request: Com_Apple_Containerization_Sandbox_V3_SetTimeRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SetTimeResponse

  /// Set up an emulator in the guest for a specific binary format.
  func setupEmulator(
    request: Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse

  /// Write data to an existing or new file.
  func writeFile(
    request: Com_Apple_Containerization_Sandbox_V3_WriteFileRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_WriteFileResponse

  /// Create a new process inside the container.
  func createProcess(
    request: Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse

  /// Delete an existing process inside the container.
  func deleteProcess(
    request: Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse

  /// Start the provided process.
  func startProcess(
    request: Com_Apple_Containerization_Sandbox_V3_StartProcessRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_StartProcessResponse

  /// Send a signal to the provided process.
  func killProcess(
    request: Com_Apple_Containerization_Sandbox_V3_KillProcessRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_KillProcessResponse

  /// Wait for a process to exit and return the exit code.
  func waitProcess(
    request: Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse

  /// Resize the tty of a given process. This will error if the process does
  /// not have a pty allocated.
  func resizeProcess(
    request: Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse

  /// Close IO for a given process.
  func closeProcessStdin(
    request: Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse

  /// Get statistics for containers.
  func containerStatistics(
    request: Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse

  /// Proxy a vsock port to a unix domain socket in the guest, or vice versa.
  func proxyVsock(
    request: Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse

  /// Stop a vsock proxy to a unix domain socket.
  func stopVsockProxy(
    request: Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse

  /// Set the link state of a network interface.
  func ipLinkSet(
    request: Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse

  /// Add an IPv4 address to a network interface.
  func ipAddrAdd(
    request: Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse

  /// Add an IP route for a network interface.
  func ipRouteAddLink(
    request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse

  /// Add an IP route for a network interface.
  func ipRouteAddDefault(
    request: Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse

  /// Configure DNS resolver.
  func configureDns(
    request: Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse

  /// Configure /etc/hosts.
  func configureHosts(
    request: Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse

  /// Perform the sync syscall.
  func sync(
    request: Com_Apple_Containerization_Sandbox_V3_SyncRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_SyncResponse

  /// Send a signal to a process via the PID.
  func kill(
    request: Com_Apple_Containerization_Sandbox_V3_KillRequest,
    context: GRPCAsyncServerCallContext
  ) async throws -> Com_Apple_Containerization_Sandbox_V3_KillResponse
}

@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
extension Com_Apple_Containerization_Sandbox_V3_SandboxContextAsyncProvider {
  public static var serviceDescriptor: GRPCServiceDescriptor {
    return Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.serviceDescriptor
  }

  public var serviceName: Substring {
    return Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.serviceDescriptor.fullName[...]
  }

  public var interceptors: Com_Apple_Containerization_Sandbox_V3_SandboxContextServerInterceptorFactoryProtocol? {
    return nil
  }

  public func handle(
    method name: Substring,
    context: CallHandlerContext
  ) -> GRPCServerHandlerProtocol? {
    switch name {
    case "Mount":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_MountRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_MountResponse>(),
        interceptors: self.interceptors?.makeMountInterceptors() ?? [],
        wrapping: { try await self.mount(request: $0, context: $1) }
      )

    case "Umount":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_UmountRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_UmountResponse>(),
        interceptors: self.interceptors?.makeUmountInterceptors() ?? [],
        wrapping: { try await self.umount(request: $0, context: $1) }
      )

    case "Setenv":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SetenvRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SetenvResponse>(),
        interceptors: self.interceptors?.makeSetenvInterceptors() ?? [],
        wrapping: { try await self.setenv(request: $0, context: $1) }
      )

    case "Getenv":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_GetenvRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_GetenvResponse>(),
        interceptors: self.interceptors?.makeGetenvInterceptors() ?? [],
        wrapping: { try await self.getenv(request: $0, context: $1) }
      )

    case "Mkdir":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_MkdirRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_MkdirResponse>(),
        interceptors: self.interceptors?.makeMkdirInterceptors() ?? [],
        wrapping: { try await self.mkdir(request: $0, context: $1) }
      )

    case "Sysctl":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SysctlRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SysctlResponse>(),
        interceptors: self.interceptors?.makeSysctlInterceptors() ?? [],
        wrapping: { try await self.sysctl(request: $0, context: $1) }
      )

    case "SetTime":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>(),
        interceptors: self.interceptors?.makeSetTimeInterceptors() ?? [],
        wrapping: { try await self.setTime(request: $0, context: $1) }
      )

    case "SetupEmulator":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>(),
        interceptors: self.interceptors?.makeSetupEmulatorInterceptors() ?? [],
        wrapping: { try await self.setupEmulator(request: $0, context: $1) }
      )

    case "WriteFile":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>(),
        interceptors: self.interceptors?.makeWriteFileInterceptors() ?? [],
        wrapping: { try await self.writeFile(request: $0, context: $1) }
      )

    case "CreateProcess":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>(),
        interceptors: self.interceptors?.makeCreateProcessInterceptors() ?? [],
        wrapping: { try await self.createProcess(request: $0, context: $1) }
      )

    case "DeleteProcess":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>(),
        interceptors: self.interceptors?.makeDeleteProcessInterceptors() ?? [],
        wrapping: { try await self.deleteProcess(request: $0, context: $1) }
      )

    case "StartProcess":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>(),
        interceptors: self.interceptors?.makeStartProcessInterceptors() ?? [],
        wrapping: { try await self.startProcess(request: $0, context: $1) }
      )

    case "KillProcess":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>(),
        interceptors: self.interceptors?.makeKillProcessInterceptors() ?? [],
        wrapping: { try await self.killProcess(request: $0, context: $1) }
      )

    case "WaitProcess":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>(),
        interceptors: self.interceptors?.makeWaitProcessInterceptors() ?? [],
        wrapping: { try await self.waitProcess(request: $0, context: $1) }
      )

    case "ResizeProcess":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>(),
        interceptors: self.interceptors?.makeResizeProcessInterceptors() ?? [],
        wrapping: { try await self.resizeProcess(request: $0, context: $1) }
      )

    case "CloseProcessStdin":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>(),
        interceptors: self.interceptors?.makeCloseProcessStdinInterceptors() ?? [],
        wrapping: { try await self.closeProcessStdin(request: $0, context: $1) }
      )

    case "ContainerStatistics":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>(),
        interceptors: self.interceptors?.makeContainerStatisticsInterceptors() ?? [],
        wrapping: { try await self.containerStatistics(request: $0, context: $1) }
      )

    case "ProxyVsock":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>(),
        interceptors: self.interceptors?.makeProxyVsockInterceptors() ?? [],
        wrapping: { try await self.proxyVsock(request: $0, context: $1) }
      )

    case "StopVsockProxy":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>(),
        interceptors: self.interceptors?.makeStopVsockProxyInterceptors() ?? [],
        wrapping: { try await self.stopVsockProxy(request: $0, context: $1) }
      )

    case "IpLinkSet":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>(),
        interceptors: self.interceptors?.makeIpLinkSetInterceptors() ?? [],
        wrapping: { try await self.ipLinkSet(request: $0, context: $1) }
      )

    case "IpAddrAdd":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>(),
        interceptors: self.interceptors?.makeIpAddrAddInterceptors() ?? [],
        wrapping: { try await self.ipAddrAdd(request: $0, context: $1) }
      )

    case "IpRouteAddLink":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>(),
        interceptors: self.interceptors?.makeIpRouteAddLinkInterceptors() ?? [],
        wrapping: { try await self.ipRouteAddLink(request: $0, context: $1) }
      )

    case "IpRouteAddDefault":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>(),
        interceptors: self.interceptors?.makeIpRouteAddDefaultInterceptors() ?? [],
        wrapping: { try await self.ipRouteAddDefault(request: $0, context: $1) }
      )

    case "ConfigureDns":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>(),
        interceptors: self.interceptors?.makeConfigureDnsInterceptors() ?? [],
        wrapping: { try await self.configureDns(request: $0, context: $1) }
      )

    case "ConfigureHosts":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>(),
        interceptors: self.interceptors?.makeConfigureHostsInterceptors() ?? [],
        wrapping: { try await self.configureHosts(request: $0, context: $1) }
      )

    case "Sync":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_SyncRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_SyncResponse>(),
        interceptors: self.interceptors?.makeSyncInterceptors() ?? [],
        wrapping: { try await self.sync(request: $0, context: $1) }
      )

    case "Kill":
      return GRPCAsyncServerHandler(
        context: context,
        requestDeserializer: ProtobufDeserializer<Com_Apple_Containerization_Sandbox_V3_KillRequest>(),
        responseSerializer: ProtobufSerializer<Com_Apple_Containerization_Sandbox_V3_KillResponse>(),
        interceptors: self.interceptors?.makeKillInterceptors() ?? [],
        wrapping: { try await self.kill(request: $0, context: $1) }
      )

    default:
      return nil
    }
  }
}

public protocol Com_Apple_Containerization_Sandbox_V3_SandboxContextServerInterceptorFactoryProtocol: Sendable {

  /// - Returns: Interceptors to use when handling 'mount'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeMountInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_MountRequest, Com_Apple_Containerization_Sandbox_V3_MountResponse>]

  /// - Returns: Interceptors to use when handling 'umount'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeUmountInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_UmountRequest, Com_Apple_Containerization_Sandbox_V3_UmountResponse>]

  /// - Returns: Interceptors to use when handling 'setenv'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeSetenvInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_SetenvRequest, Com_Apple_Containerization_Sandbox_V3_SetenvResponse>]

  /// - Returns: Interceptors to use when handling 'getenv'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeGetenvInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_GetenvRequest, Com_Apple_Containerization_Sandbox_V3_GetenvResponse>]

  /// - Returns: Interceptors to use when handling 'mkdir'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeMkdirInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_MkdirRequest, Com_Apple_Containerization_Sandbox_V3_MkdirResponse>]

  /// - Returns: Interceptors to use when handling 'sysctl'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeSysctlInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_SysctlRequest, Com_Apple_Containerization_Sandbox_V3_SysctlResponse>]

  /// - Returns: Interceptors to use when handling 'setTime'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeSetTimeInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_SetTimeRequest, Com_Apple_Containerization_Sandbox_V3_SetTimeResponse>]

  /// - Returns: Interceptors to use when handling 'setupEmulator'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeSetupEmulatorInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_SetupEmulatorRequest, Com_Apple_Containerization_Sandbox_V3_SetupEmulatorResponse>]

  /// - Returns: Interceptors to use when handling 'writeFile'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeWriteFileInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_WriteFileRequest, Com_Apple_Containerization_Sandbox_V3_WriteFileResponse>]

  /// - Returns: Interceptors to use when handling 'createProcess'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeCreateProcessInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_CreateProcessRequest, Com_Apple_Containerization_Sandbox_V3_CreateProcessResponse>]

  /// - Returns: Interceptors to use when handling 'deleteProcess'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeDeleteProcessInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_DeleteProcessRequest, Com_Apple_Containerization_Sandbox_V3_DeleteProcessResponse>]

  /// - Returns: Interceptors to use when handling 'startProcess'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeStartProcessInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_StartProcessRequest, Com_Apple_Containerization_Sandbox_V3_StartProcessResponse>]

  /// - Returns: Interceptors to use when handling 'killProcess'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeKillProcessInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_KillProcessRequest, Com_Apple_Containerization_Sandbox_V3_KillProcessResponse>]

  /// - Returns: Interceptors to use when handling 'waitProcess'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeWaitProcessInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_WaitProcessRequest, Com_Apple_Containerization_Sandbox_V3_WaitProcessResponse>]

  /// - Returns: Interceptors to use when handling 'resizeProcess'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeResizeProcessInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_ResizeProcessRequest, Com_Apple_Containerization_Sandbox_V3_ResizeProcessResponse>]

  /// - Returns: Interceptors to use when handling 'closeProcessStdin'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeCloseProcessStdinInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinRequest, Com_Apple_Containerization_Sandbox_V3_CloseProcessStdinResponse>]

  /// - Returns: Interceptors to use when handling 'containerStatistics'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeContainerStatisticsInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsRequest, Com_Apple_Containerization_Sandbox_V3_ContainerStatisticsResponse>]

  /// - Returns: Interceptors to use when handling 'proxyVsock'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeProxyVsockInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_ProxyVsockRequest, Com_Apple_Containerization_Sandbox_V3_ProxyVsockResponse>]

  /// - Returns: Interceptors to use when handling 'stopVsockProxy'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeStopVsockProxyInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_StopVsockProxyRequest, Com_Apple_Containerization_Sandbox_V3_StopVsockProxyResponse>]

  /// - Returns: Interceptors to use when handling 'ipLinkSet'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeIpLinkSetInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_IpLinkSetRequest, Com_Apple_Containerization_Sandbox_V3_IpLinkSetResponse>]

  /// - Returns: Interceptors to use when handling 'ipAddrAdd'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeIpAddrAddInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_IpAddrAddRequest, Com_Apple_Containerization_Sandbox_V3_IpAddrAddResponse>]

  /// - Returns: Interceptors to use when handling 'ipRouteAddLink'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeIpRouteAddLinkInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddLinkResponse>]

  /// - Returns: Interceptors to use when handling 'ipRouteAddDefault'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeIpRouteAddDefaultInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultRequest, Com_Apple_Containerization_Sandbox_V3_IpRouteAddDefaultResponse>]

  /// - Returns: Interceptors to use when handling 'configureDns'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeConfigureDnsInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_ConfigureDnsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureDnsResponse>]

  /// - Returns: Interceptors to use when handling 'configureHosts'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeConfigureHostsInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_ConfigureHostsRequest, Com_Apple_Containerization_Sandbox_V3_ConfigureHostsResponse>]

  /// - Returns: Interceptors to use when handling 'sync'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeSyncInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_SyncRequest, Com_Apple_Containerization_Sandbox_V3_SyncResponse>]

  /// - Returns: Interceptors to use when handling 'kill'.
  ///   Defaults to calling `self.makeInterceptors()`.
  func makeKillInterceptors() -> [ServerInterceptor<Com_Apple_Containerization_Sandbox_V3_KillRequest, Com_Apple_Containerization_Sandbox_V3_KillResponse>]
}

public enum Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata {
  public static let serviceDescriptor = GRPCServiceDescriptor(
    name: "SandboxContext",
    fullName: "com.apple.containerization.sandbox.v3.SandboxContext",
    methods: [
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.mount,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.umount,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.setenv,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.getenv,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.mkdir,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.sysctl,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.setTime,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.setupEmulator,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.writeFile,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.createProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.deleteProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.startProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.killProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.waitProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.resizeProcess,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.closeProcessStdin,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.containerStatistics,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.proxyVsock,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.stopVsockProxy,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.ipLinkSet,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.ipAddrAdd,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.ipRouteAddLink,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.ipRouteAddDefault,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.configureDns,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.configureHosts,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.sync,
      Com_Apple_Containerization_Sandbox_V3_SandboxContextServerMetadata.Methods.kill,
    ]
  )

  public enum Methods {
    public static let mount = GRPCMethodDescriptor(
      name: "Mount",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Mount",
      type: GRPCCallType.unary
    )

    public static let umount = GRPCMethodDescriptor(
      name: "Umount",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Umount",
      type: GRPCCallType.unary
    )

    public static let setenv = GRPCMethodDescriptor(
      name: "Setenv",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Setenv",
      type: GRPCCallType.unary
    )

    public static let getenv = GRPCMethodDescriptor(
      name: "Getenv",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Getenv",
      type: GRPCCallType.unary
    )

    public static let mkdir = GRPCMethodDescriptor(
      name: "Mkdir",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Mkdir",
      type: GRPCCallType.unary
    )

    public static let sysctl = GRPCMethodDescriptor(
      name: "Sysctl",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Sysctl",
      type: GRPCCallType.unary
    )

    public static let setTime = GRPCMethodDescriptor(
      name: "SetTime",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/SetTime",
      type: GRPCCallType.unary
    )

    public static let setupEmulator = GRPCMethodDescriptor(
      name: "SetupEmulator",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/SetupEmulator",
      type: GRPCCallType.unary
    )

    public static let writeFile = GRPCMethodDescriptor(
      name: "WriteFile",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/WriteFile",
      type: GRPCCallType.unary
    )

    public static let createProcess = GRPCMethodDescriptor(
      name: "CreateProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/CreateProcess",
      type: GRPCCallType.unary
    )

    public static let deleteProcess = GRPCMethodDescriptor(
      name: "DeleteProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/DeleteProcess",
      type: GRPCCallType.unary
    )

    public static let startProcess = GRPCMethodDescriptor(
      name: "StartProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/StartProcess",
      type: GRPCCallType.unary
    )

    public static let killProcess = GRPCMethodDescriptor(
      name: "KillProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/KillProcess",
      type: GRPCCallType.unary
    )

    public static let waitProcess = GRPCMethodDescriptor(
      name: "WaitProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/WaitProcess",
      type: GRPCCallType.unary
    )

    public static let resizeProcess = GRPCMethodDescriptor(
      name: "ResizeProcess",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ResizeProcess",
      type: GRPCCallType.unary
    )

    public static let closeProcessStdin = GRPCMethodDescriptor(
      name: "CloseProcessStdin",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/CloseProcessStdin",
      type: GRPCCallType.unary
    )

    public static let containerStatistics = GRPCMethodDescriptor(
      name: "ContainerStatistics",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ContainerStatistics",
      type: GRPCCallType.unary
    )

    public static let proxyVsock = GRPCMethodDescriptor(
      name: "ProxyVsock",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ProxyVsock",
      type: GRPCCallType.unary
    )

    public static let stopVsockProxy = GRPCMethodDescriptor(
      name: "StopVsockProxy",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/StopVsockProxy",
      type: GRPCCallType.unary
    )

    public static let ipLinkSet = GRPCMethodDescriptor(
      name: "IpLinkSet",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpLinkSet",
      type: GRPCCallType.unary
    )

    public static let ipAddrAdd = GRPCMethodDescriptor(
      name: "IpAddrAdd",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpAddrAdd",
      type: GRPCCallType.unary
    )

    public static let ipRouteAddLink = GRPCMethodDescriptor(
      name: "IpRouteAddLink",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpRouteAddLink",
      type: GRPCCallType.unary
    )

    public static let ipRouteAddDefault = GRPCMethodDescriptor(
      name: "IpRouteAddDefault",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/IpRouteAddDefault",
      type: GRPCCallType.unary
    )

    public static let configureDns = GRPCMethodDescriptor(
      name: "ConfigureDns",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ConfigureDns",
      type: GRPCCallType.unary
    )

    public static let configureHosts = GRPCMethodDescriptor(
      name: "ConfigureHosts",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/ConfigureHosts",
      type: GRPCCallType.unary
    )

    public static let sync = GRPCMethodDescriptor(
      name: "Sync",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Sync",
      type: GRPCCallType.unary
    )

    public static let kill = GRPCMethodDescriptor(
      name: "Kill",
      path: "/com.apple.containerization.sandbox.v3.SandboxContext/Kill",
      type: GRPCCallType.unary
    )
  }
}
